Dynamic rendering of etching input

ABSTRACT

Systems and methods that dynamically render etching inputs are provided, and include a touch surface having a sensor and configured to detect user input, and a non-transitory memory, wherein the non-transitory memory includes instructions for capturing an etching input that is applied to an image or video file, determining a haptic effect that corresponds to the etching input, the haptic effect depending on a type of etching input, and transmitting a modified image or modified video file that includes the etching input and the haptic effect.

PRIORITY APPLICATION

This application is a continuation of U.S. patent application Ser. No.15/133,823, filed on Apr. 20, 2016, now U.S. Pat. No. 9,952,669 B2,which claims the benefits of U.S. Provisional Patent Application No.62/150,499, which was filed on Apr. 21, 2015, both of which have beenincorporated herein by reference in their entirety.

FIELD OF INVENTION

The embodiments of the present invention are generally directed toelectronic devices, and more particularly, to electronic devices andapplications that produce and/or exchange haptic effects.

BACKGROUND

Electronic device manufacturers strive to produce a rich interface forusers. Conventional devices use visual and auditory cues to providefeedback to a user. In some interface devices, kinesthetic feedback(e.g., active and resistive force feedback) and/or tactile feedback(e.g., vibration, texture, and heat) is also provided to the user, moregenerally and collectively known as “haptic feedback” or “hapticeffects.” Haptic feedback can provide additional cues that enhance andsimplify user interfaces. Specifically, vibration effects, orvibrotactile haptic effects, may be useful in providing cues to users ofelectronic devices to alert the user to specific events, or providerealistic feedback to create greater sensory immersion within asimulated or virtual environment.

An increasing number of devices, such as smartphones and tablets,include hardware, such as actuators, for generating haptic effects.Haptic effects, in particular, can enhance the audio/video experience onthese example devices. For example, haptic effect accompaniment to anaudio/video track can allow a viewer to “feel” an engine roaring in acar, explosions, collisions, and the shimmering feeling of sunlight.Other devices in which a user interacts with a user input element tocause an action also may benefit from haptic feedback or haptic effects.For example, such devices may include medical devices, automotivecontrols, remote controls, trackpads, and other similar devices.

SUMMARY OF THE INVENTION

Embodiments of the present invention are generally directed towardelectronic devices configured to dynamically render etching inputs thatsubstantially improve upon the related art.

In one example, the systems and methods that dynamically render theetching inputs include a touch surface comprising a sensor andconfigured to detect user input, and a non-transitory memory, whereinthe non-transitory memory comprises instructions for capturing anetching input that is applied to an image or video file, determining ahaptic effect that corresponds to the etching input, the haptic effectdepending on a type of etching input, and transmitting a modified imageor modified video file that includes the etching input and the hapticeffect.

Additional features and advantages of the invention will be set forth inthe description which follows, and in part will be apparent from thedescription, or may be learned by practice of the invention. Theadvantages of the embodiments of the present invention will be realizedand attained by the structure particularly pointed out in the writtendescription and claims hereof as well as the appended drawings. It is tobe understood that both the foregoing general description and thefollowing detailed description are exemplary and explanatory and are notintended to limit the invention to the described examples.

BRIEF DESCRIPTION OF THE DRAWINGS

Further embodiments, details, advantages, and modifications will becomeapparent from the following detailed description of the preferredembodiments, which is to be taken in conjunction with the accompanyingdrawings.

FIG. 1 illustrates a block diagram of a haptic enabled touch surfaceaccording to an example embodiment of the present invention.

FIG. 2 illustrates a cross-sectional view of the touch surface accordingto an example embodiment of the present invention.

FIG. 3 illustrates a flow diagram of the functionality for dynamicallyrendering an etched input according to an example embodiment of thepresent invention.

FIG. 4 illustrates a flow diagram of the functionality for rendering thehaptic effects in virtual reality according to an example embodiment ofthe present invention.

FIG. 5 illustrates a flow diagram of the functionality for rendering thehaptic effects when the user is interacting with the etching inputaccording to an example embodiment of the present invention.

FIG. 6 illustrates a user interface for a haptic-enabled etching andmessaging application according to an example embodiment of the presentinvention.

FIG. 7 illustrates a plurality of etchings according to exampleembodiments of the present invention.

FIG. 8 illustrates a three dimensional brush disposed within a virtualreality space according to an example embodiment of the presentinvention.

DETAILED DESCRIPTION

In the various embodiments, systems and methods for dynamicallyrendering the etching input are provided. As described herein, etchingis a tactile enhanced drawing experience that encapsulates the user'sgestures within one or more haptic effects. For example, the etching maybe an electronic drawing that mimics one or more brush types such aspaint brushes, markers, erasures, lasers, and the like. In anotherexample, the physical movement of the host electronic device, such asshaking the device and/or drawing a design in three dimensional spaceswith the device (e.g., a heart, square, or other shapes) may be used togenerate the etching input. In some instances, the etching input may beapplied to enhance the exchange of interactive media messages via atactile chat or messaging application. For example, embodiments providetechniques for capturing the etching input and enabling the dynamicrendering of the captured etching input in conjunction with hapticeffects. Additionally, or alternatively, the speed, pressure, and/orother parameters of the captured etching input may be modified inadvance of rendering playback and in order to further enhance the hapticexperience of the user.

Reference will now be made in detail to embodiments, examples of whichare illustrated in the accompanying drawings. In the following detaileddescription, numerous specific details are set forth in order to providea thorough understanding of the present invention. However, it will beapparent to one of ordinary skill in the art that the present inventionmay be practiced without these specific details. In other instances,well-known methods, procedures, components, and circuits have not beendescribed in detail so as not to unnecessarily obscure aspects of theembodiments. Wherever possible, like reference numbers will be used forlike elements.

In the various embodiments, a variety of user interfaces and methods forusing an electronic device are described. In some embodiments, theelectronic device is a portable device (e.g., a game controller,console, mobile phone, smartphone, tablet, wearable watch, smarteyeglasses, and/or other peripheral). It should be understood, however,that the user interfaces and associated methods may be applied tonumerous other devices, such as personal computers, medical devices,laptops, and the like that may include one or more other physicaluser-interface devices, such as a keyboard, mouse, trackball and thelike.

FIG. 1 illustrates a block diagram of a system 100 for a hapticallyenabled touch sensitive surface according to an example embodiment ofthe present invention. As shown in FIG. 1, system 100 includes acomputing device 101 having a processor 102 interfaced with otherhardware, such as a memory 104, via a bus 106. In this exampleconfiguration, computing device 101 further includes one or more networkinterface devices 110, input/output (“I/O”) interface components 112,additional storage 114, and a touch surface 116.

Touch surface 116 or base device (e.g., a tablet or trackpad) may beintegrated with or coupled to computing device 101. Touch surface 116includes any surface (e.g., touchpad, touchscreen, etc.) that isconfigured to sense input of the user. One or more sensors 108 areconfigured to detect touch at the pressure sensitive areas when one ormore objects (e.g., finger, hand, stylus, brush, etc.) contact touchsurface 116 and provide appropriate data for use by processor 102.Sensors 108 may be configured to sense either a single touch and/ormultiple simultaneous touches on touch surface 116.

Any suitable number, type, and/or arrangement of sensors 108 can beused. For example, resistive and/or capacitive sensors may be embeddedin touch surface 116 and used to determine the location of a touch andother information, such as pressure. In another example, sensors 108 mayinclude optical sensors that are configured to determine the touchpositions. In some embodiments, sensors 108 may be configured to detectmultiple aspects of the user interaction. For example, sensors 108 maydetect the speed and pressure of a user interaction.

Haptic output devices 118, in communication with processor 102, may beprovided within touch surface 116. Additional haptic output devices 118may be disposed at touch surface 116 and/or other components of thecomputing device 101. In some embodiments, haptic output device 118 isconfigured to output a haptic effect simulating a variety of textures ontouch surface 116. For example, a variety of brushes, canvases,erasures, markers, lasers, and other textures may be simulated. Inanother example, the perceived coefficient of friction may be varied byvibrating touch surface 116 at different frequencies. Additionally, oralternatively, haptic output device 118 may provide vibrotactile hapticeffects, electrostatic friction haptic effects, temperature variation,and/or deformation haptic effects along touch surface 116. Some hapticeffects may utilize an actuator coupled to the housing (not shown) ofcomputing device 101, and some haptic effects may use multiple actuatorsin sequence or in concert.

Haptic output devices 118 may use electrostatic attraction, for exampleby use of an electrostatic surface actuator, to simulate a texture onthe surface of touch surface 116 or to vary the coefficient of frictionthe user feels when moving his or her finger across touch surface 116.For example, haptic output devices 118 may be an electrovibrotactiledevice that applies voltages and currents instead of mechanical motionto generate a haptic effect. In such an embodiment, the electrostaticactuator may include a conducting layer and an insulating layer. In suchan embodiment, the conducting layer may be any semiconductor or otherconductive material, such as copper, aluminum, gold, or silver. Theinsulating layer may be glass, plastic, polymer, or any other insulatingmaterial. Furthermore, processor 102 may operate the electrostaticactuator by applying an electrical signal to the conducting layer. Theelectric signal may be an AC signal that, in some embodiments,capacitively couples the conducting layer with an object near ortouching touch surface 116.

In some embodiments, the capacitive coupling may simulate a frictioncoefficient or texture on the surface of touch surface 116. For example,the surface of touch surface 116 may be smooth, but the capacitivecoupling may produce an attractive force between an object near thesurface of touch surface 116. In some embodiments, varying the levels ofattraction between the object and the conducting layer can vary thesimulated texture on an object moving across the surface of touchsurface 116. Furthermore, in some embodiments, an electrostatic actuatormay be used in conjunction with traditional actuators to vary thesimulated texture on the surface of touch surface 116 or output othereffects. For example, the actuators may vibrate to simulate a change inthe texture of the surface of touch surface 116, while an electrostaticactuator may simulate a different texture on the surface of touchsurface 116.

In some embodiments, an electrostatic actuator may be used to generate ahaptic effect by stimulating parts of the body or objects near ortouching touch surface 116. For example, in some embodiments, anelectrostatic actuator may stimulate the nerve endings in the skin of auser's finger or components in a stylus that can respond to theelectrostatic actuator. The nerve endings in the skin, for example, maybe stimulated and sense the electrostatic actuator (e.g., the capacitivecoupling) as a vibration or some more specific sensation. For example,in one embodiment, a conducting layer of an electrostatic actuator mayreceive an AC voltage signal that couples with conductive parts of auser's finger. As the user touches touch surface 116 and moves his orher finger along the surface, the user may sense a texture ofprickliness, graininess, bumpiness, roughness, stickiness, or some othertexture.

Various actuators may be used as haptic output devices 118, and otherdevices may be used. Haptic output devices 118 may be, for example, anelectric motor, an electro-magnetic actuator, a voice coil, a shapememory alloy, an electroactive polymer, a solenoid, an eccentricrotating mass motor (“ERM”), a harmonic ERM motor (“HERM”), a linearresonant actuator (“LRA”), a piezoelectric actuator, a high bandwidthactuator, an electroactive polymer (“EAP”) actuator, an electrostaticfriction display, or an ultrasonic vibration generator. In someinstances, the haptic output device may include haptic output drivecircuit. In some embodiments, the haptic output device may beunidirectional or bidirectional.

Processor 102 may be one or more general or specific purpose processorsto perform computation and control functions of system 100. Processor102 may include a single integrated circuit, such as a microprocessingdevice, or may include multiple integrated circuit devices and/orcircuit boards working in cooperation to accomplish the functions ofprocessor 102. In addition, processor 102 may execute computer programs,such as an operating system applications stored within memory 104.

In some instances, processor 102 can determine which haptic effects areto be rendered and the order in which the effects are played based onhigh level parameters. In general, the high level parameters that definea particular haptic effect include magnitude, frequency, and duration.Low level parameters such as streaming motor commands could also be usedto determine a particular haptic effect. A haptic effect may beconsidered “dynamic” if it includes some variation of these parameterswhen the haptic effect is generated or a variation of these parametersbased on a user's interaction. The haptic feedback system in oneembodiment generates vibrations or other types of haptic effects onsystem 100.

Non-transitory memory 104 may include a variety of computer-readablemedia that may be accessed by processor 102. In the various embodiments,memory 102 may include volatile and nonvolatile medium, removable andnon-removable medium. For example, memory 104 may include anycombination of random access memory (“RAM”), dynamic RAM (“DRAM”),static RAM (“SRAM”), read only memory (“ROM”), flash memory, cachememory, and/or any other type of non-transitory computer-readablemedium.

Network device 110 is configured to transmit and/or receive data withremote sources. Network device 110 may enable connectivity between aprocessor 102 and other devices by encoding data to be sent fromprocessor 102 to another device over a network (not shown) and decodingdata received from another system over the network for processor 102.For example, network device 110 may include a network interface cardthat is configured to provide wireless network communications. A varietyof wireless communication techniques may be used including infrared,radio, Bluetooth, Wi-Fi, and/or cellular communications. Alternatively,network device 110 may be configured to provide wired networkconnection(s), such as an Ethernet/Internet connection.

I/O components 112 may be used to facilitate connection to peripheraldevices such as one or more displays, keyboards, mice, speakers,microphones, and/or other hardware used to input data or output data,such as a stylus. Storage 114 represents nonvolatile storage such asmagnetic, optical, or other storage media included in computing device101.

Returning to memory 104, illustrative program components 124, 126, and128 are depicted to illustrate how a device can be configured in someembodiments to provide haptic effects in conjunction with etchinginputs, and all other functionality described herein. In this example,detection module 124 configures processor 102 to monitor touch surface116 via sensors 108 to determine the position of one or more touches.For example, module 124 may sample sensors 108 in order to track thepresence or absence of touches. If touches are present, sensors 108 maytrack one or more of the location, path, velocity, acceleration,pressure and/or other characteristics of the touches.

Haptic effect determination module 126 analyzes data regarding touch orcontact characteristics to select haptic effects for rendering. Forexample, haptic effects may be determined by characteristics of touchsurface 116. Alternatively, or additionally, this determination may bemade based on characteristics of the touches, such as the location ofcontact, number of contacts, time of contact, pressure of contact,activity of contact, or features associated with haptic effects.Different haptic effects may be selected based on the location of eachtouch in order to simulate the presence of a feature by simulating atexture on a surface of touch surface 116 or generally another type ofhaptic effect.

Haptic effect generation module 128 is configured to cause processor 102to generate and transmit haptic signals to haptic output devices 118.For example, generation module 128 may access stored waveforms orcommands to send to haptic output devices 118. As another example,haptic effect generation module 128 may receive a desired type oftexture and utilize signal processing algorithms to generate anappropriate signal to send to haptic output devices 118. As yet anotherexample, a desired texture may be indicated along with targetcoordinates for the texture and an appropriate waveform sent to one ormore actuators to generate appropriate displacement of touch surface 116(and/or other device components).

Although shown as a single system, the functionality of system 100 maybe implemented as a distributed system. For example, system 100 may bepart of a device (e.g., personal computer, console, video game console,etc.), and system 100 may provide haptic effect functionality for thedevice. In another example, system 100 may be separate from the device,and may remotely provide the aforementioned functionality for thedevice.

FIG. 2 illustrates a cross-sectional view 200 of a touch surface 216according to an example embodiment of the present invention. As shown inFIG. 2, touch surface 216 includes sensors 208, a plurality of hapticoutput devices 218.1-218.4, and a substrate 230. Haptic output devices218.1-218.4 may be integrally formed as part of substrate 230.Additionally, or alternatively, haptic output devices of thecorresponding host device may be used. It should be understood thatnumerous configurations of sensors 208 and haptic output devices218.1-218.4 are feasible, and that the configuration depicted in FIG. 2is only one example. Furthermore, it should be understood that each ofthe haptic output devices may comprise an actuator or any of the otherhaptic output devices described above.

FIG. 3 illustrates a flow diagram of functionality 300 for dynamicallyrendering the etching input according to an example embodiment of thepresent invention. In some instances, the functionality of the flowdiagram of FIG. 3 (and FIGS. 4 and 5 below) is implemented by softwarestored in memory or other computer readable or tangible media, andexecuted by a processor. In other instances, the functionality may beperformed by hardware (e.g., through the use of an application specificintegrated circuit (“ASIC”), a programmable gate array (“PGA”), a fieldprogrammable gate array (“FPGA”), etc.), or any combination of hardwareand software.

At the outset, functionality 300 enables the user to open and executemodules of an etching editor, at 301. The etching editor may be astandalone application, or alternatively, may be implemented as part ofa media editing application. For example, the etching editor may beincorporated as part of a messaging or tactile chat application (asdepicted in FIG. 6). Next, at 302, functionality 300 enables the user toselect a board or canvas to which the etching input may be applied. Forexample, the board may include various media items, such as staticimages, videos, and the like. In addition, functionality 300 enables theuser to select one or more electric “brushes” (e.g., paint brush,marker, erasure, laser, etc.), at 303. Each brush type may include acorresponding haptic profile that may be retrieved from a haptic library(not shown) upon selection. In addition, the board may include differenttextured backgrounds (e.g., paper, canvas, blackboard, blur, etc.) thatvary and enhance the interaction with the selected brushes. In theexample depicted in FIG. 6, the user may generate etching input 611using one or more selected brushes and a selected board or background616.

Returning to FIG. 3, the user may input one or more etchings or drawingson the selected board and use one or more selected brushes, at 304.Brushes may be applied to the board using fingers or a stylus, forexample. Here, the etching input may apply additive and/or reductiveedits to the selected board. In addition, the user may optionally renderthe playback of the etching input. In other words, the user may previewthe etching input, at 305. The initial playback of the etching input maybe rendered as originally input by the user (i.e., without altering theparameters of the etching input).

Next, functionality 300 enables the user to select one or more postinput options that modify the etching input, at 306. For example, theuser may select to alter one or more of the speed, pressure, direction,strength, repetition, brush, algorithm filters, and the like, at 307.The modified etching input may be rendered or previewed, at 308. Forexample, an example brush algorithm filter may cause an increase in thespeed to increase the frequency (e.g., pitch) of the haptic effects byshortening the duration between haptic effects and/or the length orduration of the haptic effects themselves. Conversely, decreasing thespeed may elongate the aforementioned signal and/or increase theduration between the haptic effects.

At 309, the etching editor may store the original and/or the modifiedetching input (collectively, the “etching input”), and transmit theetching input to a remote device. The etching input may be stored as astandalone haptic file, or alternatively, may be stored as part of theimage or video file. Subsequently, the etching input may be exchangedwith other end user devices, or alternatively, may be exchanged with aremote server such that the etching input may be retrieved by other enduser devices. In either case, other end user devices may be configuredto retrieve the etching input, at 310. For example, the etching inputmay be exchanged as part of a messaging or video sharing application.Other end user devices may render and retrieve the etching input and thecorresponding board or canvas, at 311 and 312. In addition, other usersmay add, delete, or otherwise modify the etching input.

FIG. 4 illustrates a flow diagram of functionality 400 for renderinghaptic effects using a haptically enabled drawing brush in threedimensional virtual reality spaces according to an example embodiment ofthe present invention. The embodiments of FIG. 4 (and FIG. 5) may beimplemented using one or more electronic devices to achieve a virtualreality space, such as virtual reality glasses and/or a threedimensional brush. Example three dimensional brush 821 and virtualreality space 820 are depicted in FIG. 8.

Within functionality 400, the user selects one or more brushes (e.g., athree dimensional brush that is configured as a paint brush, marker,erasure, laser, etc.), at 401. Based on the selected brush, a basehaptic effect or the haptic effect profile may be determined for theselected brushes, at 402. As described above, each brush type mayinclude a corresponding haptic profile that may be retrieved from ahaptic library (not shown) upon selection.

Next, at 403, functionality 400 determines one or more movementcharacteristics of the selected brush input, based on the input device(e.g., a three dimensional brush or stylus). For example, functionality400 may track in real-time the velocity, angle, distance to the user,height, and the like of the selected brush. The movement characteristicsmay be determined in greater than two dimensions or degrees of freedom.Based on the movement characteristics of the selected brush,functionality 400 further determines haptic rendering characteristics ofthe selected brush, at 404. For example, the base haptic effect orhaptic effect profile may be modulated according to the selected brush'svelocity, acceleration, angle, and distance from the user.

In addition, functionality 400 may determine whether brush strokesoverlap between brushes, at 405. If there are no collisions betweenbrush strokes, the haptic effects associated with the etching inputs maynot be modified, at 406. However, if there are collisions between brushstokes, functionality 400 may modulate or otherwise modify the hapticeffects according to the collision characteristics, at 407. For example,collision characteristics may include the number of collisions,collision area, brush speed, type of brush stroke, and the like.Subsequently, at 408, functionality 400 determines whether to modify ortrigger collision effects when brush strokes make contact. Similarly, at409, functionality 400 determines whether to modify or triggeradditional effects when brush strokes overlap.

FIG. 5 illustrates a flow diagram of functionality 500 for rendering orplaying back haptic effects when a user is interacting with a preparedetching input according to an example embodiment of the presentinvention. The user may have received the etching input via atransmitted message. At the outset, functionality 500 determines whetherthe user is making contact with the etching input, at 501. If the useris not making contact with the etching input, the haptic effectsassociated with the etching input are not rendered, at 502. However, ifthe user is making contact with the etching input, then the hapticeffects associated with the etching input are rendered, at 504. Forexample, the haptic effects may be rendered based on the base hapticeffect, haptic effect profile, capture data modulation, playback speed,and/or point of contact velocity.

In some example embodiments, functionality 500 may vary depending onwhether the etching input and corresponding haptic effects are beingrendered in a real or altered timescale. In other example embodiments,functionality 500 may vary depending on the location of user's hands (orcontrollers) in the virtual reality space. In yet another example, theuser may wear a full body haptic suit as the user walks (or othergestures or motions) through brush strokes (e.g., actuator on leg wouldactivate if your leg passes through brush stroke). In yet other exampleembodiments, the duration or period of time that the user makes contactwith the brush, and the velocity of the user hand when contacting theinput etching may determine the haptic output. For example, the user mayscrub his or her hand through the etching input so as to feel theeffects at the times when they were drawn. In this example, the hapticeffects may be modified based on how quickly the user's hand is movingthrough the etching input. In another example, the user's hand may passthrough three dimensional shapes, which causes sensations that areentirely new effects.

FIG. 6 illustrates a user interface for a haptic-enabled etching andmessaging application (e.g., tactile chat) according to an exampleembodiment of the present invention.

As shown in FIG. 6, first user 610 may generate etching input 611 onuser selected board 616 implemented by surface 116 of FIG. 1. Asdescribed above, board 616 may include various media items, includingstatic images, videos, and the like. In addition, first user 616 maygenerate etching input 611 using one or more selected brushes (e.g.,paint brush, marker, erasure, laser, etc.) and an input device (e.g.,stylus, finger, etc.). Each of the brush types may include acorresponding haptic profile that may be retrieved from a haptic library(not shown) upon selection. Similarly, second user 620 also may generatean etching input on user selected board 626. Alternatively, second user620 may further modify the etching input on board 616 after it isreceived from first user 610.

Upon entry of etching input 611, the composite of etching input 611,corresponding haptic effects, and the underlying board 616 (e.g., imageor video file) may be exchanged between first user 610 and second user620. Alternatively, the composite of etching input 611, correspondinghaptic effects, and the underlying board 616, may be uploaded to aserver for retrieval by other end users. While the above examples showan etching experience between two users, the embodiments of the presentinvention are not so limited. The embodiments contemplate multipleusers, multiple actuators, and multiple input and playback devices.Multi-touch gesture inputs can allow for changes in texture, strength,visuals, and/or multiple brushes can be mapped to differentfingers/input peripherals.

The etching inputs may be input by the user's hand or finger.Alternatively, a stylus or other input mechanism may be used. Forexample, the physical movement of the device, such as shaking the deviceand/or drawing a design with the device (e.g., a heart, square, or othershapes) may be used to generate the etching input. In another example,the etching brushes or tools may be used to input an etching or drawing.In some instances, the selected brushes may be configured to erase orotherwise block out all or a portion of selected board 616, 626.

As the etching is input, a processor (e.g., processor 102 of FIG. 1) isconfigured to render visual and/or haptic effects according to variousparameters of the input etching. In some embodiments, the speed,pressure, and/or other parameters of the captured etched input may beused. Upon completion of the etching, a playback preview can be providedto the user. In addition, post-production parameters may be modified,such as options to reverse, repeat, post-input brush change, changespeed, change pressure, and other like options may be provided within anediting mode. Here, the user has the ability to preview completed inputetchings with additional post-input filters, the ability to send andreceive the completed etching as intended by the creator, the ability todesignate the input etching as temporary and the ability to save theinput etching such that either first user 610 or second user 620 canadd, modify, remove, reapply the same or different filters.

The captured input etching may be modified in advance of renderingplayback. For example, the captured etching may be rendered at the samespeed as the original input. In another example, the playback of thecaptured etching may be varied according to user preferences. Here, theuser may select an option to maintain or disregard relativity of theinput speed. Thus, etchings are not always rendered at an identical rateregardless of input. In yet another example, touch enabled devices, suchas pressure sensitive multi-touch input devices may be used to track andrender the captured etching at varying pressure values.

In another example embodiment, such as the messaging application 601,first user 610 selects board 616, and further selects one or morebrushes. First user 610 may begin by using touch gestures to draw thedesired etching (e.g., a smiling face, heart, tic-tac-toe entry, etc.).Haptic effects and other visual effects of the selected brush may bedynamically determined according to brush style, background, speed ofetching, etc. Upon completion of the input etching, first user 610selects the “send” function and the input etching is stored and sent, atthe same rate as the input (and with the same visuals/haptics), for bothfirst user 610 and second user 620 within chat windows 612, 622. In someinstances, first user 610 also can alter the playback speed and/or othercharacteristics of the input etching prior to sending the input etchingto second user 620.

In yet another example embodiment, a messaging application 601 may beused as part of a social media application (e.g., Facebook orInstagram). In this example, the user may view the images or videos ofanother user. In addition, the user may desire to do more than comment,and may select to input an etching on the image or video. Being able toselect many brushes of unique visual and haptic style, the user maycircle one or more portions of the selected image or video.Alternatively, the user may draw an arrow pointing one portion of theselected image or video. Upon the end of the gestural input, the usermay select an option to speed up the playback (e.g., with a slider userinput element). Subsequently, the input etching may be renderedaccording to the desired playback speed. As the playback proceeds, anyusers viewing the image or video may further modify the speed of theinput etching. The user may further select a portion of the inputetching (e.g., the arrow) by circling around it to form a selection, andselect the option to repeat the portion of the etching or animationmultiple times. In this example, upon playback, the input etching isrendered, but the arrow may be rendered the desired number of timesinstead of once.

FIG. 7 illustrates a plurality of etchings 701.1-701.8 according toexample embodiments of the present invention. Although countless etchinginputs are feasible, example etchings 701.1-701.8 visually andhaptically render love, lateness, games, presents, surprise,salutations, invitations, and similes, respectively.

FIG. 8 illustrates three dimensional brush 821 disposed within a virtualreality space 820 according to an example embodiment of the presentinvention. Three dimensional brush 821 may include a virtual reality ortilt brush. In the example rendering of FIG. 8, reality space 810 andthe corresponding virtual reality space 820 are shown. Similarly, threedimensional brush 811 is shown within reality space 810, andcorresponding three dimensional brush 821 is shown within virtualreality space 820.

As described above, the embodiments described herein provide the systemsand methods for dynamically rendering the etching input. The etchinginputs may be applied to enhance the exchange of interactive mediamessages. In addition, the speed, pressure, and/or other parameters ofthe captured etching input may be modified in advance of renderingplayback and in order to further enhance the haptic experience of theuser.

One having ordinary skill in the art will readily understand that theinvention as discussed above may be practiced with steps in a differentorder, and/or with elements in configurations which are different thanthose which are disclosed. Therefore, although the invention has beendescribed based upon these preferred embodiments, it would be apparentto those of skill in the art that certain modifications, variations, andalternative constructions would be apparent, while remaining within thespirit and scope of the invention. In order to determine the metes andbounds of the invention, therefore, reference should be made to theappended claims.

We claim:
 1. A haptic-enabled device comprising: a processor; a touchsurface including a sensor and configured to detect user input; and anon-transitory memory, wherein the non-transitory memory includesinstructions for: capturing an etching input within a tactile chatapplication; determining a haptic effect that corresponds to the etchinginput, the haptic effect depending on a type of etching input; andgenerating an etching media object that includes the etching input and amodification to one or more parameters of the haptic effect.
 2. Thehaptic-enabled device according to claim 1, further comprisinginstructions for modifying one or more parameters of the haptic effectthat corresponds to the etching input, wherein the parameters of thehaptic effect include at least one of speed, pressure, direction,repetition, or type of etching input.
 3. The haptic-enabled deviceaccording to claim 1, wherein the parameters of the haptic effectinclude at least one of frequency or duration.
 4. The haptic-enableddevice according to claim 1, wherein the etching input is determinedaccording to one or more physical movements of the haptic-enableddevice.
 5. The haptic-enabled device according to claim 1, wherein eachtype of etching input corresponds to a haptic profile.
 6. Thehaptic-enabled device according to claim 1, further comprisinginstructions for transmitting the etching media object.
 7. Thehaptic-enabled device according to claim 1, wherein the etching input isapplied to an image or video file.
 8. The haptic-enabled deviceaccording to claim 1, wherein the haptic-enabled device is a mobilephone or tablet.
 9. The haptic-enabled device according to claim 1,wherein the etching input comprises an input within a virtual realityspace using a three dimensional brush.
 10. A method comprising:capturing an etching input within a tactile chat application;determining a haptic effect that corresponds to the etching input, thehaptic effect depending on a type of etching input; and generating anetching media object that includes the etching input and a modificationto one or more parameters of the haptic effect.
 11. The method accordingto claim 10, further comprising instructions for modifying one or moreparameters of the haptic effect that corresponds to the etching input,wherein the parameters of the haptic effect include at least one ofspeed, pressure, direction, repetition, or type of etching input. 12.The method according to claim 10, wherein the parameters of the hapticeffect include at least one of frequency or duration.
 13. The methodaccording to claim 10, wherein the etching input is determined accordingto one or more physical movements of a device.
 14. The method accordingto claim 10, wherein each type of etching input corresponds to a hapticprofile.
 15. The method according to claim 10, further comprisinginstructions for transmitting the etching media object.
 16. The methodaccording to claim 10, wherein the etching input comprises an inputwithin a virtual reality space using a three dimensional brush.
 17. Anon-transitory computer readable storage medium storing one or moreprograms configured to be executed by a processor, the one or moreprograms comprising instructions for: capturing an etching input withina tactile chat application; determining a haptic effect that correspondsto the etching input, the haptic effect depending on a type of etchinginput; and generating an etching media object that includes the etchinginput and a modification to one or more parameters of the haptic effect.18. The non-transitory computer readable storage medium according toclaim 17, further comprising instructions for modifying one or moreparameters of the haptic effect that corresponds to the etching input,wherein the parameters of the haptic effect include at least one ofspeed, pressure, direction, repetition, or type of the etching input.19. The non-transitory computer readable storage medium according toclaim 17, wherein the parameters of the haptic effect include at leastone of frequency or duration.
 20. The non-transitory computer readablestorage medium according to claim 17, wherein the etching input isdetermined according to physical movement of a device.
 21. Thenon-transitory computer readable storage medium according to claim 17,wherein each type of etching input corresponds to a haptic profile. 22.The non-transitory computer readable storage medium according to claim17, further comprising instructions for transmitting the etching mediaobject.
 23. The non-transitory computer readable storage mediumaccording to claim 17, wherein the etching input comprises an inputwithin a virtual reality space using a three dimensional brush.